include_rules = [
  "+gin/public",
  "+gin/v8_initializer.h",
  "+v8/include",

  # For chromeos build config
  "+chromeos/dbus",
  "+device/bluetooth",  # BluetoothAdapterFactory::Shutdown.

  # The content_shell is the canonical sample embedder, so it only uses
  # content's public API.
  "+content/public",

  # Network service public library.
  "+services/network/public/cpp",

  # The content_shell is an embedder so it must work with resource bundles.
  "+ui/base/l10n",
  "+ui/base/resource",

  # Shell resources
  "+grit/shell_resources.h",

  # The content_shell for aura must work with the views and aura
  "+ui/aura",
  "+ui/color",
  "+ui/platform_window",
  "+ui/views",

  # Content Shell can depend on more components than content/, since:
  #   1) it's an example browser
  #   2) it's not linked into the content library
  "+components/embedder_support",
  "+components/custom_handlers",
  "+components/crash",
  "+components/download",
  "+components/keyed_service/core",
  "+components/performance_manager",
  "+components/permissions",
  "+components/url_formatter",
  "+components/network_session_configurator/browser",
  "+components/viz/common/resources",
  "+components/viz/common/switches.h",
  "+services/test/echo",

  # Separating content shell and web test code. Only narrow parts of content
  # shell may access and inject web test code at runtime.
  "-content/web_test/browser",
  "-content/web_test/common",
  "-content/web_test/renderer",
]

specific_include_rules = {
  "shell_views\.cc": [
    "+ui/wm/test"
  ],

  # Content shell for this platform has UI for starting traces.
  "shell_platform_delegate_ios.mm": [
    "+services/tracing/public",
  ],
}
